package Stragos.servlet;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import Stragos.excepcion.DAOExcepcion;
import Stragos.modelo.Cliente;
import Stragos.modelo.DetalleProducto;
import Stragos.modelo.Pedido;
import Stragos.modelo.Producto;
import Stragos.negocio.GestionCliente;
import Stragos.negocio.GestionPedidos;
import Stragos.negocio.GestionProductos;

/**
 * Servlet implementation class RealizarPedidoProd
 */
@WebServlet("/RealizarPedidoProd")
public class RealizarPedidoProd extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public RealizarPedidoProd() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try{
			
			GestionPedidos ped = new GestionPedidos();
			int    idprod = Integer.parseInt(request.getParameter("radio"));
			int    cant   = Integer.parseInt(request.getParameter("cantidad"));
			String tipo   = request.getParameter("tipoped");
			int dni = Integer.parseInt(request.getParameter("dni"));
			
			GestionProductos prod = new GestionProductos();
			Producto p = prod.obtenerPorId(idprod);
			DetalleProducto dp = new DetalleProducto();
			
			Pedido pedido = new Pedido();
			
			pedido.setTipo(tipo);
			
			GestionCliente c = new GestionCliente();
			Cliente cli = c.obtenerPorId(dni);
			
			pedido.setCliente(cli);
			pedido.setCantidad(cant);
			
			Date fecha=new Date(); 
            SimpleDateFormat sdf=new SimpleDateFormat("dd/MM/yyyy"); 
            pedido.setFecha(sdf.format(fecha));
					
			dp.setIdPedido(pedido);
			dp.setIdProducto(p);
			dp.setCantidad(cant);
			
			ped.insertar(pedido);
			ped.insertardetalleproduc(dp);
			
			request.setAttribute("mensaje", "Su pedido fue ingresado correctamente");
			RequestDispatcher rd = request.getRequestDispatcher("RealizarPedProd.jsp");
			rd.forward(request, response);
					
			} catch (DAOExcepcion e) {
				// TODO Auto-generated catch block
				request.setAttribute("mensaje", "No se pudo ingresar ::: Verifique sus datos");
				RequestDispatcher rd = request.getRequestDispatcher("RealizarPedProd.jsp");
				rd.forward(request, response);
				e.printStackTrace();
			}
}
}
